1. Field of the Invention
The present invention relates to the field of commerce systems and more particularly to the field of service oriented architected applications.
2. Description of the Related Art
As businesses and consumers become further interconnected through computer communications networks such as the global Internet and local intranets, the commerce sites and companion computing applications which integrate interactions between businesses and consumers alike are becoming ever more complex. Addressing the explosion of business to business and business to consumer interactions on-line, information technologists increasingly focus on architecting and implementing complete commerce site solutions to reflect the entire life cycle of a business in lieu of integrating multiple, disparate applications which when combined reflect the business life cycle. Consequently, as modern commerce sites can be both large and distributed, commerce systems have been configured to deploy complete e-commerce systems in as seamless a fashion as possible.
It is now a common trend that traditional, stand-alone, commerce oriented applications are produced from one or more components which can be individually re-used to create business processes for different solutions. Each of these components can expose itself as a set of reusable business functions, also referred to as “services” comporting with computing standards for deploying enterprise level logic that facilitate an open service oriented architecture (SOA). An SOA essentially can be defined as a system where all exposed business and technical functions are in the form of reusable services. These reusable services can communicate with each other to engage either in simple data passing between two or more services, or in activity coordination by two or more services.
In a SOA, a client can invoke an operation on a service to perform a function and, optionally the client can receive a response. Invoked services are generally business functions configured to fulfill the needs of business customers, whether those customers are individual consumers or other businesses. The functions can be grouped into various services where each service can specialize in functions such as catalog management, shopping cart management, credit card transaction processing, sales tax computation and the like. By utilizing an SOA, services in a commerce solution can interoperate with other business processes in a larger commerce solution involving one or more separate business entities and one or more separate consumer entities.
As a distributed system, an SOA suffers from the processing and resource constraints associated with data transfer granularity. Data transfer granularity refers to the size and quantity of discrete units of data communicated between the services of an SOA. During the design phase of an SOA service, the service author must ensure that the data input/output through the service interface meets the performance criteria for the service. Higher levels of granularity can provide the requisite flexibility in data manipulation within a service component—but only at a cost in that moving a volume of granular data elements from service to service can consume significant overhead. A traditional trade-off is either to have a small number of operations which transfer large amounts of data or a larger number of operations which transfer smaller amounts of data.